package com.Shuang.Demo3;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/*
***需求**
*
* “系统菜单.txt”。
**具体要实现的功能点如下所示**
1、请从**系统菜单.txt**中读取这些菜单信息，将这些菜单信息在控制台展示成图1的样子（必须确保展示的顺序是正确的）
2、将正确的菜单顺序，写出到一个新文件**"系统菜单2.txt"**中保存起来，详细格式如下

* */
public class Test {
    public static void main(String[] args) {
        try (
                //1 将数据从txt文件中读出来
                BufferedReader br = new BufferedReader(new FileReader("ExamFinal\\src\\系统菜单.txt"));
                //打印流写数据
                PrintStream ps = new PrintStream("ExamFinal\\src\\系统菜单2.txt");
        ){
            //2 按行读取文件中的内容存到一个List集合中去
            List<String> menus = new ArrayList<>();
            String Line;
            while ((Line = br.readLine()) != null){
                menus.add(Line);
            }

            //3 将得到的集合中的数据排序
            Collections.sort(menus);

            //4 遍历集合，按照指定格式打印内容
            for (String menu : menus) {
                String[] menuNumAndName = menu.split("-");
                System.out.println(menuNumAndName[0].length() == 4 ? menuNumAndName[1] : ("\t" + menuNumAndName[1]));
            }

            //5 将排好序的内容写入到新文件中去
            for (String menu : menus) {
                ps.println(menu);
            }
            
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
